﻿/*


*/
$(document).ready(function(){
	//Ctrl+Enter换行，
	$("#text").keydown(function(event){
		if(event.ctrlKey && event.which == 13){;
			event.preventDefault();
			$("#text").focus().val($("#text").text()+"\n");
		}
	});
	//按Enter发送消息
	$("#text").keyup(function(event){
		if(event.keyCode == 13 && !(event.ctrlKey)){
			event.preventDefault();
			SendMsg();
		}
	});
	$("#text").keydown(function(){
		if(event.keyCode == 13){
			event.preventDefault();
		}
	});
	//点击按钮发送
	$("#submit").click(function(){
		SendMsg();
	});
	//选择文件上传
	$("#insert-files").click(function(){
		layer.open({
			type: 1 //Page层类型
			,area: ['90%', '90%']
			,title: '选择文件'
			,shade: 0.6 //遮罩透明度
			,maxmin: false //允许全屏最小化
			,anim: Math.floor(Math.random()*7)//0-6的动画形式，-1不开启
			,content: '<form name="form" action="/uploadFile" method="POST" enctype="multipart/form-data"><div><input name="files" width="80%" type="file"/><input type="submit" value="提交"/></div></form>'
		});
	});
	//选择表情发送
	$("#insert-emoji").click(function(){
		layer.open({
			type: 1 //Page层类型
			,area: ['90%', '90%']
			,title: '选择表情'
			,shade: 0.6 //遮罩透明度
			,maxmin: false //允许全屏最小化
			,anim: Math.floor(Math.random()*7)//0-6的动画形式，-1不开启
			,content: ''
		});
	});
	//选择别的什么东东
	$("#insert-plus").click(function(){
		layer.open({
			type: 1 //Page层类型
			,area: ['90%', '90%']
			,title: '选择其他的什么'
			,shade: 0.6 //遮罩透明度
			,maxmin: false //允许全屏最小化
			,anim: Math.floor(Math.random()*7)//0-6的动画形式，-1不开启
			,content: ''
		});
	});
	//直接发送
	$("#insert-send").click(function(){
		SendMsg();
	});
	//在加载完成后弹出登录窗口
	layer.open({
		type: 2 //Page层类型
		,area: ['98%', '98%']
		,title: '登录'
		,shade: 0.6 //遮罩透明度
		,maxmin: false //允许全屏最小化
		,anim: Math.floor(Math.random()*7)//0-6的动画形式，-1不开启
		,content: 'login.html'
	});
});
//转义函数
function htmlEncode(value){return $('<div/>').text(value).html();}
//长轮询主函数
function LongCheckMain(){
	$.post("api",{random:Math.random()+Math.random(),userID:$(".userID").val(),userPassword:$(".userPassword").val(),context:"longcheck"},function(data){
		if(data=="No Msg"){
			setTimeout("LongCheckMain()",100);
		}else{
			if(data=="Error"){
				layer.msg("出现错误，您很可能已经掉线，请刷新重试！");
			}else{
				AddMsg(data.split("$$")[0],data.split("$$")[1]);
				setTimeout("LongCheckMain()",100);
				$show = $("#show")
				$show.animate({scrollTop:document.getElementById("show").scrollHeight},'300');
			}
		}
	});
}
//发送信息
function SendMsg(){
	text = document.getElementById("text");
	if (text.value == "" || text.value == null){
		layer.msg('你没有输入任何信息！');
	}else{
		$.post("api",{
			userID:$(".userID").val(),
			userPassword:$(".userPassword").val(),
			toWho:$(".toWho").val(),
			content:text.value,
			context:"send-text"
		},function(data){
			if(data=="ok"){
				//请求发送消息成功
				AddMsg("self",text.value);
				text.value = "";
				$show = $("#show")
				$show.animate({scrollTop:document.getElementById("show").scrollHeight},'300')
			}
			if(data=="Password Error"){
				layer.msg("你的密码输入错误或者你未正常登录！");
			}
			if(data=="This User Not Online"){
				layer.msg(["用户",$(".toWho").val(),"未登录！"].join(""));
			}
			if(data=="No User Info"){
				layer.msg("您没有登录！")
			}
		});
	}
}
//增加信息
function AddMsg(user,content){
	user = htmlEncode(user);
	content = htmlEncode(content);
	str = "";
	if(user == 'self'){
		str = "<div class=\"msg guest\"><div class=\"msg-right\"><div class=\"msg-host headDefault\"></div><div class=\"msg-ball\">" + content +"</div></div></div>"
	}
	else{
		str = "<div class=\"msg robot\"><div class=\"msg-left\" worker=\"" + user + "\"><div class=\"msg-host photo\"></div><div class=\"msg-ball\">" + content + "</div></div></div>";
	}
	msgs = document.getElementById("msgs");
	msgs.innerHTML = msgs.innerHTML + str;
}

